# 17、
# 创建一个模块班级模块mym2，并在该模块中做以下事情：
# 创建班级1的实例，其中班级1的成绩： cj=[50,90,89,70,89,78]，其他值自定义即可）
# 创建班级2的实例，其中班级2的成绩： cj=[40,90,100,70,69,77]，其他值自定义即可）
# 班级1，班级2 分别调用行为1
# 班级1的最高分若大于班级2的最高分，把最高分做加法，并打印结果
# 不然，做减法，并打印结果
# 班级1，班级2 分别调用行为2，并打印结果
# 班级1，班级2 分别调用行为3，是否存在100的成绩
import openpyxl
from openpyxl.workbook import Workbook
from openpyxl.worksheet.worksheet import Worksheet
import logging
from logs.doLog import DoLog
from text.mym1 import MyCls
lg = DoLog().getLogger(__name__)



# class Class():
#     def course(self, a, b):
#         if a > b:
#             c = a + b
#             print(c)
#         else:
#             c = a - b
#             print(c)
#
#
# # 19、
# # 在17题的基础上，分别将班级1的内容写入到cls1.txt，cls2.txt中，然后再读取打印出来
# # 要求：整个过程中若出现异常，需要捕获异常，并将异常信息打印到日志文件中，无异常需打印出：无异常发生
# # 不管是否发生异常，均打印出：我进行异常捕获了!
# class Class1txt():
#     def readTxt1(self, t1, a, utf=False):
#         try:
#             if utf:
#                 with open(t1, a, encoding='utf-8') as ff:
#                     r = ff.read()
#                     return r
#             else:
#                 with open(t1, a) as ff:
#                     r = ff.read()
#                     print(r)
#
#         except Exception as d:
#             lg.log(logging.ERROR,d)
#             print(f"发生异常{d}")
#         else:
#             print("没有异常")
#             return r
#         finally:
#             print("查结束")
#
#     def writeTxt1(selft, t1, a, s, utf=False):
#         try:
#                 if utf:
#                     with open(t1, a, encoding='utf-8') as b:
#                         w = b.write(s)
#                 else:
#                     with open(t1, a) as b:
#                         w = b.write(s)
#                 print(w)
#         except Exception as g:
#             lg.log(logging.ERROR, g)
#             print(f"发生异常{g}")
#         else:
#             print("没有异常")
#             return w
#         finally:
#             print("写入结束")
#
# if __name__ == '__main__':
#     cla1 = "1班"
#     cln1 = 6
#     clt1 = "因"
#     cj1 = [50, 90, 89, 70, 89, 78]
#     cla2 = "2班"
#     cln2 = 6
#     clt2 = "因"
#     cj2 = [40, 90, 100, 70, 69, 77]
    # a = MyCls().clsMax(cj1)
    # b = MyCls().clsMax(cj2)
    # q = Class()
    # q.course(a, b)
    # MyCls().clsAvg(cln1, cj1)
    # MyCls().clsAvg(cln2, cj2)
    # MyCls().scores(cj1)
    # MyCls().scores((cj2))
#     # ----------------------------------------
#     t1 = r'D:\work\codings\python\2501\post_2501\files\文本文档.txt'
    # t3 = f"{cj1},{cln1},{cla1},{clt1}"
    # e = Class1txt()
    # rd = e.readTxt1(t1, 'r', True)
    # print(rd)
    # e.writeTxt1(t1, 'a', t3, True)
# 19、
# 在17题的基础上，分别将班级1的内容写入到cls1.txt，cls2.txt中，然后再读取打印出来
# 要求：整个过程中若出现异常，需要捕获异常，并将异常信息打印到日志文件中，无异常需打印出：无异常发生
# 不管是否发生异常，均打印出：我进行异常捕获了!

# 20、
# 创建工作簿wExcel，在do_page的data_page下
# 在writeExcel中新增一个sheet，名称wtest
# 在wtest中，分别输入：
# mes1
# mes2
# mes3
# 你好
# helloword
# 12
# a.b.c
# hellopython
# 1751323
# 读取writeExcel中的wtest的内容，并打印
# 要求：整个过程中若出现异常，需要捕获异常，并将异常信息打印到日志文件中，无异常需打印出：无异常发生
# 不管是否发生异常，均打印出：我进行异常捕获了!
class WExcel():
    def wExcel(self, f):
        try:
            we: Workbook = openpyxl.Workbook(f)
            ws: Worksheet = we.create_sheet("wtest")
            we.save(f)
            print(ws)
        except Exception as w:
            lg.log(logging.ERROR,w)
            print(f"发生异常{w}")
        else:
            print("没有异常")
        finally:
            print("我进行了捕获")

    def wExcel1(self, f):
        try:
            we: Workbook = openpyxl.load_workbook(f)
            ws: Worksheet = we["wtest"]
            ws["A1"] = 'mes1'
            ws["A2"] = 'mes2'
            ws["A3"] = 'mes3'
            ws["C1"] = '你好'
            ws["C2"] = 'helloword'
            ws["C3"] = '12'
            ws["D1"] = 'a.b.c'
            ws["D2"] = 'hellopython'
            ws["D3"] = '1751323'
            we.save(f)
            print(ws)
        except Exception as w:
            lg.log(logging.ERROR,w)
            print(f"发生异常：{w}")
        else:
            print("没有异常")
        finally:
            print("我进行了捕获")
    def rExceL(self, f):
        try:
            we: Workbook = openpyxl.load_workbook(f)
            ws: Worksheet = we["wtest1"]
            w = ws.iter_rows(1, 3, 1, 4, values_only=True)
            l = [i for i in w]
            print(l)
        except Exception as e:
            lg.log(logging.ERROR,e)
            print(f"发生异常：{e}")
        else:
            return l
        finally:
            print("结束")

# if __name__ == '__main__':
    # f = r'D:\work\codings\python\2501\post_2501\data\wEXcel.xlsx'
    # f = r'D:\work\codings\python\2501\post_2501\data\wEXcel1.xlsx'
    # z = WExcel()
    # z.wExcel(f)
    # z.wExcel1(f)
    # z.rExceL(f)
